package com.zw.mes.module.prodtaskmanager.mapper;

import com.zw.mes.module.prodtaskmanager.entity.*;
import com.zw.mes.module.prodtaskmanager.model.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 徐一贺
 * @className ProdTaskDao
 * @description 生产任务排产持久层
 * @date 2021/1/11 16:01
 * @versron ver 1.0
 */
@Repository
public interface ProdTaskMapper {
    /**
     * findProdPlanModelByParam 获取排产任务池页的表格数据
     *
     * @param param 检索参数
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.model.ProdPlaModel>
     * @author 徐一贺
     * @date 2021/1/15 12:47
     */
    List<ProdPlaModel> findProdPlanModelByParam(ProdPlaModel param);

    /**
     * findProdPlanModelByParamAndCommon  获取普通任务池页的表格数据
     *
     * @param param 检索条件
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.model.ProdPlaModel>
     * @author 徐一贺
     * @date 2021/1/29 16:36
     */
    List<ProdPlaModel> findProdPlanModelByParamAndCommon(ProdPlaModel param);

    /**
     * findTotalDispatchPlanItem 总调计划列表项
     *
     * @param
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.BaseData>
     * @author 徐一贺
     * @date 2021/1/15 14:45
     */
    List<BaseData> findTotalDispatchPlanItem();

    /**
     * getProdPlanByProdNo 根据生产令号获取对应主调计划
     *
     * @param prodNo
     * @return com.zw.mes.module.prodtaskmanager.model.ProdPlaModel
     * @author 徐一贺
     * @date 2021/1/15 16:42
     */
    ProdPlaModel getProdPlaByProdNo(String prodNo);

    /**
     * insertProdPlan 插入总调计划主表数据
     *
     * @param plan 总调计划主表数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/15 16:54
     */
    Integer insertProdPla(ProdPla plan);

    /**
     * getTotalPlanIsNotNull 根据code获取对应的计划的value
     *
     * @param code code码
     * @return java.lang.String
     * @author 徐一贺
     * @date 2021/1/16 8:09
     */
    String getTotalPlanIsNotNull(String code);

    /**
     * insertProdPlanDetail 插入总调计划从表数据
     *
     * @param prodPlaDet 总调计划从表数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/16 8:13
     */
    Integer insertProdPlaDet(ProdPlaDet prodPlaDet);

    /**
     * findProdTaskTemplateData 获取生产任务模板数据
     *
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.BaseData>
     * @author 徐一贺
     * @date 2021/1/16 8:39
     */
    List<BaseData> findProdTaskTemplateData();

    /**
     * insertProdTask 插入生产任务数据
     *
     * @param task 生产任务数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/16 8:45
     */
    Integer insertProdTask(ProdTas task);

    /**
     * findProdPlanDetailListByProdPlanId 通过计划主表主键获取计划集合
     *
     * @param id
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdPlaDet>
     * @author 徐一贺
     * @date 2021/1/16 8:53
     */
    List<ProdPlaDet> findProdPlanDetailListByProdPlanId(Integer id);

    /**
     * updateProdPlanDetail 更新总调计划从表数据
     *
     * @param toDataBaseProdPlaDet 总调计划从表数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/16 9:43
     */
    Integer updateProdPlaDet(ProdPlaDet toDataBaseProdPlaDet);

    /**
     * getVwProjectByProdNo 根据生产令号获取项目信息
     *
     * @param prodNo 生产令号
     * @return com.zw.mes.module.prodtaskmanager.entity.VwProject
     * @author 徐一贺
     * @date 2021/1/16 11:13
     */
    VwProject getVwProjectByProdNo(String prodNo);

    /**
     * findProdPlanListByProdNo 根据生产令号获取审核通过得生产计划信息
     *
     * @param prodNo 生产令号
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdPla>
     * @author 徐一贺
     * @date 2021/1/16 12:49
     */
    List<ProdPlaDetModel> findProdPlanListByProdNo(String prodNo);

    /**
     * findProdTaskListByProdNo 根据生产令号获取生产任务信息
     *
     * @param prodNo 生产令号
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdTas>
     * @author 徐一贺
     * @date 2021/1/16 12:51
     */
    List<ProdTas> findProdTaskListByProdNo(String prodNo);

    /**
     * findProdPlanRetInfoListByProdNo 根据生产令号获取生产计划反馈信息
     *
     * @param prodNo 生产令号
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdTas>
     * @author 徐一贺
     * @date 2021/1/16 12:55
     */
    List<ProdPlaRet> findProdPlanRetInfoListByProdNo(String prodNo);

    /**
     * findProdTaskTypeListByProdNo 根据生产令号获取生产任务类别信息
     *
     * @param prodNo 生产令
     * @return java.util.List<java.lang.String>
     * @author 徐一贺
     * @date 2021/1/16 13:30
     */
    List<BaseData> findProdTaskTypeListByProdNo(String prodNo);

    /**
     * findProdReturnInfoTemplateData 获取生产反馈模板数据
     *
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.BaseData>
     * @author 徐一贺
     * @date 2021/1/25 15:36
     */
    List<BaseData> findProdReturnInfoTemplateData();

    /**
     * insertProdPlanRetInfo 插入生产计划反馈数据
     *
     * @param retInfo 反馈数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/25 15:42
     */
    Integer insertProdPlanRetInfo(ProdPlaRetModel retInfo);

    /**
     * getProdPlaByPropProdNo 根据生产令编号获取总调计划对象
     *
     * @param prodNo 生产令编号
     * @return com.zw.mes.module.prodtaskmanager.entity.ProdPla
     * @author 徐一贺
     * @date 2021/1/26 16:52
     */
    ProdPla getProdPlaByPropProdNo(String prodNo);

    /**
     * findProdPlaDetListByPrpdPropId 根据总调计划主表ID获取从表数据
     *
     * @param propId 总调计划主表ID
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdPlaDet>
     * @author 徐一贺
     * @date 2021/1/26 16:54
     */
    List<ProdPlaDet> findProdPlaDetListByPrpdPropId(Integer propId);

    /**
     * getProdOrdByPrimaryKey 根据主键获取生产令
     *
     * @param prodId 生产令主键
     * @return com.zw.mes.module.prodtaskmanager.entity.ProdOrd
     * @author 徐一贺
     * @date 2021/1/27 8:49
     */
    ProdOrd getProdOrdByPrimaryKey(Integer prodId);

    /**
     * updateProdPlaPropStaByPrimaryKey 根据主键更改总调计划主表提交审核状态
     *
     * @param prodPla 总调计划对象
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/27 8:52
     */
    Integer updateProdPlaPropStaByPrimaryKey(ProdPla prodPla);
    /**
     * @methodName: updateProdPlaPropStaMinByPrimaryKey
     * @description: 部长不会
     * @param: prodPla
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺
     * @date： 2021/3/24 19:42
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdPlaPropStaMinByPrimaryKey(ProdPla prodPla);

    /**
     * updateProdPlaPropCreDatAndPropCreUidByPrimaryKey  根据主键更改总调计划主表提交人和提交时间
     *
     * @param prodPla 总调计划对象
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/27 9:08
     */
    Integer updateProdPlaPropCreDatAndPropCreUidByPrimaryKey(ProdPla prodPla);

    /**
     * findApplicantList 获取申请人列表：已提交未通过、未驳回计划提交人的姓名列表
     *
     * @param
     * @return java.util.List<java.lang.String>
     * @author 徐一贺
     * @date 2021/1/27 9:17
     */
    List<String> findApplicantList(@Param("name") String name);

    /**
     * findAuditList 加载总调计划审核列表
     *
     * @param param 检索条件
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.model.ProdPlaModel>
     * @author 徐一贺
     * @date 2021/1/27 9:57
     */
    List<ProdPlaModel> findAuditList(ProdPlaModel param);
    /**
     * @methodName: loadMinisterialAuditList
     * @description: 加载部级审核列表
     * @param: param
     * @return： com.zw.mes.common.JsonResult
     * @exception：
     * @author： 徐一贺
     * @date： 2021/3/23 16:06
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<ProdPlaModel> loadMinisterialAuditList(ProdPlaModel param);

    /**
     * getProdPlaByPrimaryKey 根据逐渐获取总调计划主表数据
     *
     * @param propId 主键
     * @return com.zw.mes.module.prodtaskmanager.entity.ProdPla
     * @author 徐一贺
     * @date 2021/1/27 11:25
     */
    ProdPla getProdPlaByPrimaryKey(@Param("propId") Integer propId);

    /**
     * findBasePlanList 总调计划基础信息维护列表
     *
     * @param
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.BaseData>
     * @author 徐一贺
     * @date 2021/1/27 14:45
     */
    List<BaseData> findBasePlanList();

    /**
     * findPlanBadaTyp2List 跳转到计划信息管理页面
     *
     * @param
     * @return java.util.List<java.lang.String>
     * @author 徐一贺
     * @date 2021/1/27 14:55
     */
    List<String> findPlanBadaTyp2List();

    /**
     * getPlanBaseDataByNam 请填写描述
     *
     * @param baseData
     * @return com.zw.mes.module.prodtaskmanager.entity.BaseData
     * @author 徐一贺
     * @date 2021/1/27 15:17
     */
    BaseData getPlanBaseDataByNam(BaseData baseData);

    /**
     * getBaseDataForLast 获取最后的计划对象
     *
     * @param
     * @return com.zw.mes.module.prodtaskmanager.entity.BaseData
     * @author 徐一贺
     * @date 2021/1/27 15:22
     */
    BaseData getBaseDataForLast();

    /**
     * insertBaseData 插入基本信息
     *
     * @param baseData
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/27 15:35
     */
    Integer insertBaseData(BaseData baseData);

    /**
     * getExistPlaDetCouByPrpdCod 根据码获取总调计划明细是否使用了该码
     *
     * @param badaCod
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/27 15:59
     */
    Integer getExistPlaDetCouByPrpdCod(String badaCod);

    /**
     * removeBaseData 删除基础信息
     *
     * @param baseData
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/27 16:06
     */
    Integer removeBaseData(BaseData baseData);

    /**
     * getBaseDataByPrimaryKey 根据主键获取基础信息
     *
     * @param baseData 主键
     * @return com.zw.mes.module.prodtaskmanager.entity.BaseData
     * @author 徐一贺
     * @date 2021/1/27 16:18
     */
    BaseData getBaseDataByPrimaryKey(BaseData baseData);

    /**
     * findBaseDataByBadaPidAndNotDel 根据计划主键获取反馈信息列表
     *
     * @param badaPid 计划主键
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.BaseData>
     * @author 徐一贺
     * @date 2021/1/27 16:53
     */
    List<BaseData> findBaseDataByBadaPidAndNotDel(@Param("badaPid") Integer badaPid);

    /**
     * getRetBaseDataByNam 根据badaNam获取反馈信息
     *
     * @param baseData 条件
     * @return com.zw.mes.module.prodtaskmanager.entity.BaseData
     * @author 徐一贺
     * @date 2021/1/28 11:06
     */
    BaseData getRetBaseDataByNam(BaseData baseData);

    /**
     * getRetBaseDataForLast 获取最后的反馈节点
     *
     * @param
     * @return com.zw.mes.module.prodtaskmanager.entity.BaseData
     * @author 徐一贺
     * @date 2021/1/28 11:07
     */
    BaseData getRetBaseDataForLast();

    /**
     * updateBaseDataBadaNamByPrimaryKey 根据主键更新基础数据名称
     *
     * @param baseData 主键和基础数据名称
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/28 11:17
     */
    Integer updateBaseDataBadaNamByPrimaryKey(BaseData baseData);

    /**
     * getExistRetCouByPrpdCod 获取反馈信息数量
     *
     * @param badaCod
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/28 11:27
     */
    Integer getExistRetCouByPrpdCod(String badaCod);

    /**
     * insertProdPlaCha 插入变更记录
     *
     * @param befCha 变更记录
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/28 13:07
     */
    Integer insertProdPlaCha(ProdPlaCha befCha);

    /**
     * updateProdPla 更新总调计划
     *
     * @param planModel
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/1/28 13:29
     */
    Integer updateProdPla(ProdPlaModel planModel);

    /**
     * findChangeQueryList 获取变更查询列表
     *
     * @param param 查询条件
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdPlaCha>
     * @author 徐一贺
     * @date 2021/1/29 10:16
     */
    List<ProdPlaCha> findChangeQueryList(ProdPlaCha param);
    /**  findNewProdPlaDetListByBaseData 根据模板获取计划列表
     * @param
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdPlaDet>
     * @author 徐一贺
     * @date 2021/1/30 9:20
     */
    List<ProdPlaDet> findCommonLoadPlanTemplateData();
    /**  findCommonLoadExistPlanData 根据生产令号获取计划列表
     * @param prodOrdNo 生产令编号
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdPlaDet>
     * @author 徐一贺
     * @date 2021/2/1 10:33
     */
    List<ProdPlaDet> findCommonLoadExistPlanData(String prodOrdNo);
    /**  deleteProdPlanDetailByPrimaryKey 根据主键删除普通计划
     * @param integer
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/2/1 10:58
     */
    Integer deleteProdPlanDetailByPrimaryKey(Integer integer);
    /**  updateProdPlaPropIsSchByPropProdNo 根据生产令编号更新排产完成标识
     * @param prodPla 更新的信息
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/2/1 13:10
     */
    Integer updateProdPlaPropIsSchByPropProdNo(ProdPla prodPla);

    /**  findFacPlaEdiAndRetList 根据搜索条件获取生产计划编辑与反馈页面的列表
     * @param param 搜索条件
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.model.ProdPlaDetModel>
     * @author 徐一贺
     * @date 2021/2/1 14:27
     */
    List<ProdPlaDetModel> findFacPlaEdiAndRetList(ProdPlaDetModel param);

    /**  getProdPlaByPrpdId 根据从表主键获取计划主表信息
     * @param prpdId 从表主键
     * @return com.zw.mes.module.prodtaskmanager.entity.ProdPla
     * @author 徐一贺
     * @date 2021/2/1 15:45
     */
    ProdPla getProdPlaByPrpdId(Integer prpdId);

    /**  getProdPlaDetByPrimaryKey 根据主键获取次评估表实体
     * @param prpdId 主键
     * @return com.zw.mes.module.prodtaskmanager.entity.ProdPlaDet
     * @author 徐一贺
     * @date 2021/2/1 15:47
     */
    ProdPlaDet getProdPlaDetByPrimaryKey(Integer prpdId);

    /**  updateProdPlaDetPrpdRetStaByPrimaryKey 根据主键更新反馈状态
     * @param param 主键和反馈状态
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/2/1 15:48
     */
    Integer updateProdPlaDetPrpdRetStaByPrimaryKey(ProdPlaDetModel param);

    /**  factoryPlanEditAndReturnLoadProdList 加载审核通过的生产令列表
     * @param
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.model.ProdOrdModel>
     * @author 徐一贺
     * @date 2021/2/1 16:29
     */
    List<ProdOrdModel> findFactoryPlanEditAndReturnLoadProdList();
    /**  insertProdFac 插入二级生产计划
     * @param prodFac 二级生产计划
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/2/2 11:19
     */
    Integer insertProdFac(ProdFac prodFac);
    /**  getProdFacByPrimaryKey 根据主键获取二级计划
     * @param id 主键
     * @return com.zw.mes.module.prodtaskmanager.entity.ProdFac
     * @author 徐一贺
     * @date 2021/2/2 13:00
     */
    ProdFac getProdFacByPrimaryKey(Integer id);
    /**  removeDevicesClass 根据主键删除设备类生产计划
     * @param id 主键
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/2/2 13:01
     */
    Integer removeDevicesClass(Integer id);
    /**  removeOtherClass 根据主键删除其他类生产计划
     * @param id 主键
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2021/2/2 13:11
     */
    Integer removeOtherClass(Integer id);

    /**  findProdOrdQueryList 根据条件查询生产进度看板列表
     * @param param 检索条件
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.model.ProdOrderQueryModel>
     * @author 徐一贺
     * @date 2021/2/2 15:05
     */
    List<ProdOrderQueryModel> findProdOrdQueryList(ProdOrderQueryModel param);

    /**  findProdOrdByProdNo 根据生产令号获取厂级任务列表
     * @param prodNo 生产令号
     * @return java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdTas>
     * @author 徐一贺
     * @date 2021/2/3 15:45
     */
    List<ProdFac> findProdOrdByProdNo(String prodNo);

    /**
     * 根据条件获取总调计划查询列表
     * @param param
     * @return
     */
    List<PlanQueryModel> findPlanQueryList(PlanQueryModel param);

    /**
     * 安装进度查看
     * @param param
     * @return
     */
    List<InstDispatchingListModel> findInstallListViewList(InstDispatchingListModel param);

    /**
     * 获取装配进度查看列表
     * @param param
     * @return
     */
    List<AsseAssemblySheetRouteTransModel> findAssemblyListViewList(AsseAssemblySheetModel param);

    /**
     * 根据计划主键获取最后的变更记录
     * @param propId
     * @return
     */
    ProdPlaCha getProdPlaChaByPrpcPropIdAndLast(Integer propId);

    /**
     * 根据主键更新审核是否通过字段的值为1
     * @param prodPlaCha
     * @return
     */
    Integer updateProcStatusByPrimaryKey(ProdPlaCha prodPlaCha);

    /**
     * 获取文件列表
     * @return
     */
    List<SysDeptModel> findDeptList();

    /**
     * 根据主键获取部门对象
     * @param deptId
     * @return
     */
    SysDeptModel getSysDeptByPrimaryKey(Integer deptId);

    /**
     * 未删除的 根据生产令编号获取对应的厂级计划列表
     * @param profProdNo
     * @return
     */
    List<ProdFac> findProdFacByprofProdNo(String profProdNo);

    /**
     * 更新厂级计划与反馈表信息
     * @param prodFac
     * @return
     */
    Integer updateProdFacBySave(ProdFac prodFac);

    /**
     * 根据主键更新厂级计划删除字段的值
     * @param prodFac
     * @return
     */
    Integer updateProdFacProfIsDelByPrimaryKey(ProdFac prodFac);

    /**
     * 生产进度看板 导出 创建临时表
     * @param param
     */
    void createWarQueryTempTable(ProdOrderQueryModel param);

    /**
     * 获取导出临时表中数据总数量
     * @param param
     * @return
     */
    Integer getTempTableDataCount(ProdOrderQueryModel param);

    /**
     * 按照分页形式获取临时表中的总数据
     * @param param
     * @return
     */
    List<ProdOrderQueryModel> selectWarQueryTempTableByParam(ProdOrderQueryModel param);

    /**
     * 删除临时表
     * @param tempTableName
     */
    Integer dropWarQueryTempTable(String tempTableName);

    /**
     * @methodName: updateProdPlaDetProdRetStaByPrimaryKey
     * @description: 根据主键更新反馈状态值
     * @param: changeObj
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18941916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/3/26 10:12
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdPlaDetProdRetStaByPrimaryKey(ProdPlaDet changeObj);
    /**
     * @methodName: updateProdOrdProdExeStaByPrimaryKey
     * @description: 根据主键更新生产状态
     * @param: order
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18941916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/1 10:50
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdOrdProdExeStaByPrimaryKey(ProdOrd order);

    /**
     * @methodName: findProdTasByProtPropId
     * @description: 根据总调计划表主键获取要编辑的任务列表
     * @param: protPropId
     * @return： java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdTas>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/6 10:24
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<ProdTas> findProdTasByProtPropId(Integer protPropId);

    /**
     * @methodName: findProdPlaRetByPrprPropId
     * @description: 根据总调计划表主键获取要编辑的反馈列表
     * @param: prprPropId
     * @return： java.util.List<com.zw.mes.module.prodtaskmanager.entity.ProdPlaRet>
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/6 10:34
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    List<ProdPlaRet> findProdPlaRetByPrprPropId(Integer prprPropId);

    /**
     * @methodName: getProdTasByPrimaryKey
     * @description: 根据主键获取任务
     * @param: protId
     * @return： com.zw.mes.module.prodtaskmanager.entity.ProdTas
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/6 13:02
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    ProdTas getProdTasByPrimaryKey(Integer protId);

    /**
     * @methodName: updateProdTasToChangetProtStaByPrimaryKey
     * @description: 根据主键更新状态以及相关的时间
     * @param: prodTas
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/6 13:16
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdTasToChangetProtStaByPrimaryKey(ProdTas prodTas);

    /**
     * @methodName: getProdPlaRetByPrimaryKey
     * @description: 根据主键获取计划反馈
     * @param: prprId
     * @return： com.zw.mes.module.prodtaskmanager.entity.ProdPlaRet
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/6 13:52
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    ProdPlaRet getProdPlaRetByPrimaryKey(Integer prprId);

    /**
     * @methodName: updateProdPlaRetToChangetProtStaByPrimaryKey
     * @description: 根据主键保存反馈时间和相关信息
     * @param: prodPlaRet
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/6 13:59
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdPlaRetToChangetProtStaByPrimaryKey(ProdPlaRet prodPlaRet);

    /**
     * @methodName: getVwProStatusByProId
     * @description: 根据项目表主键获取项目状态
     * @param: proId
     * @return： com.zw.mes.module.prodtaskmanager.model.VwProStatus
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/6 15:14
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    VwProStatus getVwProStatusByProId(Integer proId);

    /**
     * @methodName: getVwCraTaskDetailByProId
     * @description: 根据项目主键获取对应的状态信息数据
     * @param: proId
     * @return： com.zw.mes.module.prodtaskmanager.model.VwCraTaskDetail
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/6 15:58
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    VwCraTaskDetail getVwCraTaskDetailByProId(Integer proId);

    /**
     * @methodName: getProdTasByMachining
     * @description: 获取机加任务
     * @param: protPropId
     * @return： com.zw.mes.module.prodtaskmanager.entity.ProdTas
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/9 11:45
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    ProdTas getProdTasByMachining(Integer protPropId);
    /**
     * @methodName: getProdTasByRivetAndSolder
     * @description: 获取铆焊任务
     * @param: protPropId
     * @return： com.zw.mes.module.prodtaskmanager.entity.ProdTas
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/9 11:48
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    ProdTas getProdTasByRivetAndSolder(Integer protPropId);

    /**
     * @methodName: getProdTasByProduction
     * @description: 获取生产任务
     * @param: protPropId
     * @return： com.zw.mes.module.prodtaskmanager.entity.ProdTas
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/9 11:51
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    ProdTas getProdTasByProduction(Integer protPropId);

    /**
     * @methodName: updateProdTasProtstaByPrimaryKey
     * @description: 根据主键更新任务状态
     * @param: production
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/9 11:54
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdTasProtstaByPrimaryKey(ProdTas production);

    /**
     * @methodName: updateProStatusTecAnDebugByProIdAndProCode
     * @description: 根据项目编号和项目主键更新对应的工艺和调试状态
     * @param: param
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/10 10:08
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProStatusTecAnDebugByProIdAndProCode(VwProStatus param);

    /**
     * @methodName: updateProdOrdProdExeStaByProdNo
     * @description: 根据生产令编号改变生产状态
     * @param: prodOrd
     * @return： java.lang.Integer
     * @exception：
     * @author： 徐一贺 tel:18341916590
     * @designer： 陈欣，盖世奇
     * @leader： 陈欣 tel:18104194240
     * @date： 2021/4/10 11:51
     * @office: 智能控制设计科
     * @research institute： 智能控制设计所
     * @department： 机械设计院
     * @company: 辽宁忠旺机械设备制造有限公司
     * @group： 忠旺集团
     * @version: 1.0
     */
    Integer updateProdOrdProdExeStaByProdNo(ProdOrd prodOrd);
}
